﻿using System;
using System.Collections.Generic;

namespace ScriptXCompiler
{
    public interface IOutput : IDisposable
    {
        void WriteWithIdent(int number, string str);
        void WriteWithIdent(int number, string fmt, params object[] args);

        void WriteLineWithIdent(int number, string str);
        void WriteLineWithIdent(int number, string fmt, params object[] args);

        void Write(string str);
        void Write(string fmt, params object[] args);

        void WriteLine(string str);
        void WriteLine(string fmt, params object[] args);

        void Compress();
        void Flush();
    }
}
